跳到主要内容

空值合并操作符

空值合并操作符(Null-Coalescing Operator)(更恰当地说,是 nil 合并操作符)可以如下使用:

local permissions, group = nil, nil

local effective_permissions = permissions ?? "NO_PERMISSIONS"

group ??= "User"

它在语义上等同于使用 三元表达式 的以下代码:

local permissions, group = nil, nil

local effective_permissions = permissions == nil ? "NO_PERMISSIONS" : permissions

if group == nil then
group = "User"
end

正如您所看到的,空值合并操作符允许更简洁的语句。

信息

这是一种惰性求值的操作符。它不会 "选择任何不是 nil 的值",而只是在第一个表达式为 nil 时对第二个表达式进行求值。

警告

这个功能的字节码与 Lua 不兼容。这意味着在使用这个特性时,可能会导致与 Lua 的向后兼容性问题。